package com.zxl.yjb.utils;

import android.content.Context;
import android.content.SharedPreferences;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.Base64;
import android.util.Log;

public class ParcelableUtils {

    public static void save(Context context, Object parceable) {
        if (parceable instanceof Parcelable)
        {
            try {
                Parcel parcel = Parcel.obtain();
                parcel.setDataPosition(0);
                ((Parcelable)parceable).writeToParcel(parcel, 0);
                byte[] bytes = parcel.marshall();
                parcel.recycle();
                SharedPreferences.Editor parcelableEditor = context.getSharedPreferences("parcelable", 0).edit();
                parcelableEditor.putString("parcelable", Base64.encodeToString(bytes, 0));
                parcelableEditor.commit();
            } catch (Exception e) {

            }
        }

    }

    public static Parcel load(Context context) {
        try {
            SharedPreferences parcelable = context.getSharedPreferences("parcelable", 0);
            byte[] bytes = Base64.decode(parcelable.getString("parcelable", "default"), 0);
            Parcel parcel = Parcel.obtain();
            parcel.unmarshall(bytes, 0, bytes.length);
            parcel.setDataPosition(0);
            return parcel;
        } catch (Exception e) {
            return null;
        }

    }
}
